From: kaf24@firebug.cl.cam.ac.uk Date: Thu, 29 Sep 2005 17:28:28 +0000 (+0100) Subject: More save/restore code in interrupts-enabled contest, where X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16769^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=2b0aab1103f1b35a3373b54024b504cedec6a21b;p=xen.git More save/restore code in interrupts-enabled contest, where it properly belongs. Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c index 058fd3797c..d75dcd67a9 100644 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c @@ -129,6 +129,7 @@ static inline void play_dead(void) * race between pending interrupts and restoration of handler. */ #ifdef CONFIG_SMP + local_irq_enable(); /* XXX Needed for smp_resume(). Clean me up. */ smp_resume(); #endif cpu_set(smp_processor_id(), cpu_online_map); diff --git a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c index bc596fbe09..5a093f6795 100644 --- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c +++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c @@ -187,10 +187,6 @@ static int __do_suspend(void *ignore) irq_resume(); - xencons_resume(); - - xenbus_resume(); - time_resume(); #ifdef CONFIG_SMP @@ -200,6 +196,10 @@ static int __do_suspend(void *ignore) __sti(); + xencons_resume(); + + xenbus_resume(); + #ifdef CONFIG_SMP out_reenable_cpus: for_each_cpu_mask(i, prev_online_cpus) {